package com.ruoyi.common.core.domain.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import com.ruoyi.common.annotation.Excel;

import java.util.Date;

/**
 * 用户扩展信息
 *
 * @author ruoyi
 */
@TableName("sys_user_other_info")
@Table(value = "sys_user_other_info", comment = "用户扩展信息")
public class SysUserOtherInfo {

    /**
     * 用户id
     */
    @TableId(value = "user_id")
    private Long userId;

    /**
     * 身份证号
     */
    @Column(name = "id_card", comment = "身份证号", type = MySqlTypeConstant.VARCHAR)
    @Excel(name = "身份证号")
    private String idCard;

    /**
     * 毕业院校
     */
    @Column(name = "graduation_institution", comment = "毕业院校", type = MySqlTypeConstant.VARCHAR)
    @Excel(name = "毕业院校")
    private String graduationInstitution;

    /**
     * 学历
     */
    @Column(name = "education", comment = "学历", type = MySqlTypeConstant.VARCHAR)
    @Excel(name = "学历")
    private String education;

    /**
     * 专业
     */
    @Column(name = "speciality", comment = "专业", type = MySqlTypeConstant.VARCHAR)
    @Excel(name = "专业")
    private String speciality;

    /**
     * 入职时间
     */
    @Column(name = "entry_time", comment = "入职时间", type = MySqlTypeConstant.DATE)
    @Excel(name = "入职时间")
    private Date entryTime;

    /**
     * 合同签订时间
     */
    @Column(name = "contract_signing_time", comment = "合同签订时间", type = MySqlTypeConstant.DATE)
    @Excel(name = "合同签订时间")
    private Date contractSigningTime;

    /**
     * 身份证地址
     */
    @Column(name = "id_card_address", comment = "身份证地址", type = MySqlTypeConstant.VARCHAR)
    @Excel(name = "身份证地址")
    private String idCardAddress;

    /**
     * 身份证正面
     */
    @Column(name = "id_card_z", comment = "身份证正面", type = MySqlTypeConstant.VARCHAR)
    private String idCardZ;

    /**
     * 身份证反面
     */
    @Column(name = "id_card_f", comment = "身份证反面", type = MySqlTypeConstant.VARCHAR)
    private String idCardF;

    /**
     * 地址
     */
    @Column(name = "address", comment = "地址", type = MySqlTypeConstant.VARCHAR)
    @Excel(name = "地址")
    private String address;

    /**
     * 银行名称
     */
    @Column(name = "bank_name", comment = "银行名称", type = MySqlTypeConstant.VARCHAR)
    @Excel(name = "银行名称")
    private String bankName;

    /**
     * 银行卡号
     */
    @Column(name = "bank_card", comment = "银行卡号", type = MySqlTypeConstant.VARCHAR)
    @Excel(name = "银行卡号")
    private String bankCard;

    /**
     * 开行地址
     */
    @Column(name = "bank_address", comment = "开行地址", type = MySqlTypeConstant.VARCHAR)
    @Excel(name = "开行地址")
    private String bankAddress;


    public Long getUserId() {
        return userId;
    }

    public String getIdCard() {
        return idCard;
    }

    public String getGraduationInstitution() {
        return graduationInstitution;
    }

    public String getEducation() {
        return education;
    }

    public String getSpeciality() {
        return speciality;
    }

    public Date getEntryTime() {
        return entryTime;
    }

    public Date getContractSigningTime() {
        return contractSigningTime;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public void setGraduationInstitution(String graduationInstitution) {
        this.graduationInstitution = graduationInstitution;
    }

    public void setEducation(String education) {
        this.education = education;
    }

    public void setSpeciality(String speciality) {
        this.speciality = speciality;
    }

    public void setEntryTime(Date entryTime) {
        this.entryTime = entryTime;
    }

    public void setContractSigningTime(Date contractSigningTime) {
        this.contractSigningTime = contractSigningTime;
    }

    public String getIdCardAddress() {
        return idCardAddress;
    }

    public String getAddress() {
        return address;
    }

    public String getBankName() {
        return bankName;
    }

    public String getBankCard() {
        return bankCard;
    }

    public void setIdCardAddress(String idCardAddress) {
        this.idCardAddress = idCardAddress;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public void setBankCard(String bankCard) {
        this.bankCard = bankCard;
    }

    public String getIdCardZ() {
        return idCardZ;
    }

    public String getIdCardF() {
        return idCardF;
    }

    public void setIdCardZ(String idCardZ) {
        this.idCardZ = idCardZ;
    }

    public void setIdCardF(String idCardF) {
        this.idCardF = idCardF;
    }

    public void setBankAddress(String bankAddress) {
        this.bankAddress = bankAddress;
    }

    public String getBankAddress() {
        return bankAddress;
    }



    @Override
    public String toString() {
        return "SysUserOtherInfo{" +
                "userId=" + userId +
                ", idCard='" + idCard + '\'' +
                ", graduationInstitution='" + graduationInstitution + '\'' +
                ", education='" + education + '\'' +
                ", speciality='" + speciality + '\'' +
                ", entryTime=" + entryTime +
                ", contractSigningTime=" + contractSigningTime +
                ", idCardAddress='" + idCardAddress + '\'' +
                ", idCardZ='" + idCardZ + '\'' +
                ", idCardF='" + idCardF + '\'' +
                ", address='" + address + '\'' +
                ", bankName='" + bankName + '\'' +
                ", bankCard='" + bankCard + '\'' +
                ", bankAddress='" + bankAddress + '\'' +
                '}';
    }
}
